package org.qh.common.core.domain.dto;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * 订单信息 Response DTO
 *
 * @author qianhong
 */
@Data
public class TradeOrderRespDTO {

    // ========== 订单基本信息 ==========

    /**
     * 订单编号
     */
    private Long id;

    /**
     * 订单流水号
     */
    private String no;

    /**
     * 订单类型
     */
    private Integer type; // 参见 TradeOrderTypeEnum 枚举

    /**
     * 订单来源
     */
    private Integer terminal; // 参见 TerminalEnum 枚举

    /**
     * 用户编号
     */
    private Long userId;

    /**
     * 用户 IP
     */
    private String userIp;

    /**
     * 用户备注
     */
    private String userRemark;

    /**
     * 订单状态
     */
    private Integer status; // 参见 TradeOrderStatusEnum 枚举

    /**
     * 购买的商品数量
     */
    private Integer productCount;

    /**
     * 订单完成时间
     */
    private LocalDateTime finishTime;

    /**
     * 订单取消时间
     */
    private LocalDateTime cancelTime;

    /**
     * 取消类型
     */
    private Integer cancelType; // 参见 TradeOrderCancelTypeEnum 枚举

    /**
     * 商家备注
     */
    private String remark;

    /**
     * 是否评价
     */
    private Boolean commentStatus;

    // ========== 价格 + 支付基本信息 ==========

    /**
     * 支付订单编号
     **/
    private Long payOrderId;

    /**
     * 是否已支付
     */
    private Boolean payStatus;

}
